﻿namespace Robotec.NET.Application;

/// <summary>
/// 数据迁移输出参数
/// </summary>
public class SysDataTransferOutput:BaseOutput
{
    /// <summary>
    /// 源数据链接字符串
    /// </summary>
    public string? SourceConnectionString { get; set; }
    
    /// <summary>
    /// 源数据库配置编号
    /// </summary>
    public string? SourceConfigId { get; set; }
    
    /// <summary>
    /// 源数据库名称
    /// </summary>
    public string? SourceDbName { get; set; }
    
    /// <summary>
    /// 源数据库类型
    /// </summary>
    public MyDbType? SourceDbType { get; set; } 
    
    /// <summary>
    /// 需要迁移源表的特性
    /// </summary>
    [SugarColumn(IsJson =true)]
    public List<object> SourceTableAttribute { get; set; }  = new List<object>();
    
    /// <summary>
    /// 只更新的表
    /// </summary>
    [SugarColumn(IsJson =true)]
    public List<object> SourceOnlyTransferTables { get; set; }  = new List<object>();
    
    /// <summary>
    /// 需要排除的表
    /// </summary>
    [SugarColumn(IsJson =true)]
    public List<object> SourceExcludeTables { get; set; }  = new List<object>();
    
    /// <summary>
    /// 是否清空目标表
    /// </summary>
    public bool? ClearTargetTableFlag { get; set; }
    
    /// <summary>
    /// 目标数据库配置编码
    /// </summary>
    public string? TargetConfigId { get; set; }
    
    /// <summary>
    /// 目标数据库名称
    /// </summary>
    public string? TargetDbName { get; set; }
    
    /// <summary>
    /// 目标数据库类型
    /// </summary>
    public MyDbType? TargetDbType { get; set; } 
    
    /// <summary>
    /// 目标数据链接字符串
    /// </summary>
    public string? TargetConnectionString { get; set; }
    
    /// <summary>
    /// 迁移日志内容
    /// </summary>
    public string? Description { get; set; }
    
    /// <summary>
    /// Id
    /// </summary>
    public long? Id { get; set; }
    
    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }
    
    }
 

